//package com.example.model;
//
//import org.springframework.core.MethodParameter;
//import org.springframework.http.MediaType;
//import org.springframework.http.server.ServerHttpRequest;
//import org.springframework.http.server.ServerHttpResponse;
//import org.springframework.web.bind.annotation.ControllerAdvice;
//import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
//
///**
// * 统一响应格式处理增强器
// * 作用：对所有Controller的返回结果进行统一封装
// */
//@ControllerAdvice  // 声明这是一个控制器增强器，会应用到所有@Controller注解的类
//public class ResponseAdvice implements ResponseBodyAdvice<Object> {
//
//    /**
//     * 判断是否要执行beforeBodyWrite方法
//     * @param returnType 方法返回类型信息
//     * @param converterType 消息转换器类型
//     * @return true表示执行beforeBodyWrite，false表示不执行
//     */
//    @Override
//    public boolean supports(MethodParameter returnType, Class converterType) {
//        // 返回true，表示对所有Controller方法的返回值都进行处理
//        return true;
//    }
//
//    /**
//     * 在响应体写入之前进行处理
//     * @param body 原始响应体对象
//     * @param returnType 方法返回类型信息
//     * @param selectedContentType 选择的媒体类型
//     * @param selectedConverterType 选择的消息转换器类型
//     * @param request HTTP请求对象
//     * @param response HTTP响应对象
//     * @return 处理后的响应体对象
//     */
//    @Override
//    public Object beforeBodyWrite(Object body, MethodParameter returnType,
//                                  MediaType selectedContentType,
//                                  Class selectedConverterType,
//                                  ServerHttpRequest request,
//                                  ServerHttpResponse response) {
//        // 使用Result.success方法统一封装返回结果
//        return Result.success(body);
//    }
//}
